﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ClassesSystemString
{
    class Program
    {
        static void Main(string[] args)
        {
            //Определить класс с именем Tea содержащую следующие поля: страна производитель; сорт чая; вес в упаковке; цена чая за 100 гр.
            //методы:
            //1) ввод данных в массив из n элементов в типа Tea;     
            //2) вывод информации об объекте, страна производитель которого введена пользователем.
            //3) Пользователь выбирает чай, указывает количество чая которое хочет купить.Вывести стоимость покупки
            //4) Вывести информацию из списка

            List<Tea> priceListOfTea = new List<Tea>();
            string choice = "";
            do
            {

                Console.WriteLine("Please enter the information about tea.");
                Tea teaPosition = new Tea();
                teaPosition.FillingTeaInformation();
                priceListOfTea.Add(teaPosition);
                Console.WriteLine("Would youlike to add new position of tea to the list? Y/N.");
                choice = Console.ReadLine();

            } while (choice == "Y");
            for (int i = 0; i < priceListOfTea.Count; i++)
            {
                priceListOfTea[i].listNumber = i+1;
            }
            Console.WriteLine("The existing price list for tea:");
            Console.WriteLine(
                @"#   The country tea from         The sort of tea        The weight of one pack        The price for 100 gramms");
            foreach (var enteredList in priceListOfTea)
            {
                enteredList.DisplayTeaInformation();
            }
            bool countOfMatching = true;
            Console.WriteLine(@"Please choose required country where tea from:");
            string requiredTeaFrom = Console.ReadLine();
            foreach (var counteryTeaFrom in priceListOfTea)
            {
                if (counteryTeaFrom.nativeCountry == requiredTeaFrom)
                {
                    counteryTeaFrom.DisplayTeaInformation();
                    countOfMatching = false;
                }

            }
            if (countOfMatching == true)
                {
                Console.WriteLine("There is no matches in the price list.");
                }
            
            Console.WriteLine("Choose the sort of tea:");
            string requiredSortOfTea = Console.ReadLine();
            Console.WriteLine("Choose how much you want to buy, gramm:");
            double requiredAmountOfTea = Double.Parse(Console.ReadLine());
            double sumOfPay = 0;
            double totalPrice = 0;
            foreach (var findSortOfTea in priceListOfTea)
            {
                if(findSortOfTea.sortOfTea == requiredSortOfTea)
                {
                    countOfMatching = true;
                    sumOfPay = (findSortOfTea.priceOneHundredGramms / 100) * requiredAmountOfTea;
                    findSortOfTea.DisplayTeaInformation();
                    Console.WriteLine("The total price of choosen tea is: ${0}", sumOfPay);
                    totalPrice += sumOfPay;
                    countOfMatching= false;
                }
                
            }
            if (countOfMatching == true)
            {
                Console.WriteLine("There is no matches in the price list.");
            }
            else
            {
                Console.WriteLine("The total price for all kinds of choosen tea is: ${0}", totalPrice);
            }
        }
    }
}
